// pages/studentInfo/courseDetail/courseDetail.js
import Dialog from '@vant/weapp/dialog/dialog';
import { getDetali,deleteResult} from "../../../api/manage";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    detail:[],
    course:{},
    listText:["学号","姓名","编辑"]
  },
 
  async editStudent(event) {
    const student = event.currentTarget.dataset.student; // 获取学生对象
    console.log("编辑学生 :", student);
    
    try {
        await Dialog.confirm({
            title: '删除学生',
            message: '学号：' + student.studentNo + " 姓名：" + student.studentName
        });

        // 调用删除接口
        let res = await deleteResult(student.courseId, student.studentId);
        if (res.code === 200) {
            // 更新 detail，过滤掉被删除的学生
            this.setData({
                detail: this.data.detail.filter(item => !(item.courseId === student.courseId && item.studentId === student.studentId))
            });

            // 弹出提示框
            wx.showToast({
                title: '删除成功', // 提示内容
                icon: 'success',   // 图标类型
                duration: 2000     // 显示时长
            });
        } else {
            // 处理删除失败的情况
            wx.showToast({
                title: '删除失败',
                icon: 'none',
                duration: 2000
            });
        }
    } catch (error) {
        // 处理取消或其他错误
        console.log("操作被取消或发生错误:", error);
    }
},
  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    let courseId = options.courseId;
    let res = await getDetali(courseId);
    if (res.code === 200) {
      const formattedData = res.data.map(item => {
        return {
          ...item, // 保留原有属性
          formattedCourseTime: this.formatCourseTime(item.courseTime) // 添加格式化后的课程时间
        };
      });
    
      this.setData({
        detail: formattedData, // 设置格式化后的数据
        course: formattedData[0] // 如果需要的话，取第一项课程
      });
    }
  },
  formatCourseTime(courseTime) {
    const days = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']; // 星期数组
    const timeSlots = courseTime.split('%'); // 分割时间段
  
    const formattedTimes = timeSlots.map(slot => {
      const [day, start, end] = slot.split('-').map(Number); // 拆分并转换为数字
      const dayName = days[day - 1]; // 获取星期名称
      return `${dayName} ${start}-${end}节`; // 格式化
    });
  
    return formattedTimes.join(', '); // 返回合并后的字符串
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})